
<?php
//取出ip 位置與國家名稱 上 要加入兩個檔案在伺服器上同一個目錄上: GeoIP.dat  geoip.inc 
//更新下載GeoIP.dat位置：http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
//或是搜尋：Download the latest GeoLite Country Binary Format

include("geoip.inc");
 
$gi = geoip_open(dirname(__FILE__) . "/GeoIP.dat",GEOIP_STANDARD);
 
$your_ip = $_SERVER['REMOTE_ADDR'];
  
$user_ip= $your_ip;
$user_country=geoip_country_code_by_addr($gi, $your_ip)."-".geoip_country_name_by_addr($gi, $your_ip) ;
 
geoip_close($gi);
//取出ip 位置與國家名稱 下  
  
    
    //伺服器上的基本資料
	$user = "xxtradexx"; //使用者名稱
	$password = "qwerty"; //使用者密碼
	
	$dbname = "xxtradexx"; //資料庫名稱
	$db_url = "MySQL10.brinkster.com"; //資料庫網路位置
	
	$db_table = "app_record_login"; //資料表名稱 name
	
	//標記:程式啓動後 必須先決定的重要參數 0 透過Sequal Pro 新增欄位
	
	//標記:程式啓動後 必須先決定的重要參數 1
	$status =1;     //初始化給的 狀態設定值 1:表示可以正常使用 0:表示禁止此硬體使用該ＡＰＰ
	$user_grade =1; //使用者等級分類： 0:管理者 1:非管理者
	$datasource =0; //資料來源： 0:Yahoo 1:Google
	$iap_free_use_day =10;   //免費試用期間
	
	
	//標記:POST 輸入變數 1
	$p_udid = $_POST['udid'];
	$p_name = $_POST['name'];
	
	$p_systemName = $_POST['systemName'];
	$p_model = $_POST['model'];
	$p_systemVersion = $_POST['systemVersion'];
	$p_localizedModel = $_POST['localizedModel'];
	
	$p_prod = $_POST['productid'];
	$p_displayname = $_POST['displayname'];
    $p_debuger = $_POST['debuger']; //是否在測試狀態:0:測試狀態 1:正式購買
    $p_iap_type = $_POST['iap_type'];
 
 
    //連接到 資料庫伺服器
    $hd = mysql_connect($db_url, $user, $password)
          or die ("ERROR:Unable to connect"); //退出 顯示無法連接伺服器

    //選擇資料庫
    mysql_select_db ($dbname, $hd)
          or die ("ERROR:Unable to select database"); //退出 顯示無法連接資料庫
    
    //找同時相同的 udid 與productid
    $SQLD="SELECT * FROM $db_table WHERE udid= '$p_udid' and productid='$p_prod' ";
    
    $record = mysql_query($SQLD,$hd);
	$row_num = mysql_num_rows($record); //取出資料集的欄位數目
	$row = mysql_fetch_assoc($record);
 	
 	//以找到資料集的數目當做是否之前是否有登入過 
 	if($row_num==0){
 	    //找不到相同的udid 與productid 表示第一次登入 因此新增一列
        
        //標記:程式啓動後 必須先決定的重要參數 2  
        //標記:POST 輸入變數 2
        $res = mysql_query("INSERT INTO $db_table (IP_Adress  ,User_Country    ,udid     ,name     ,systemName     ,model     ,systemVersion     , localizedModel    ,productid,displayname     ,status   ,user_grade   ,datasource    ,iap_type      ,login_count   ,debuger    ,firstentry_Date      ,expire_Date                                     ,expire_datetime_unix  ) 
                                           VALUES ('$user_ip' ,'$user_country' ,'$p_udid','$p_name','$p_systemName','$p_model','$p_systemVersion','$p_localizedModel','$p_prod','$p_displayname','$status','$user_grade','$datasource' ,'$p_iap_type' ,     1      ,'$p_debuger' , Now()               , DATE_ADD(NOW(), INTERVAL $iap_free_use_day DAY), UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL $iap_free_use_day DAY) ) )",$hd);
	    //表格名稱變數使用技巧:請注意$db_table (udid, 中間要有空格，否則會連在一起 
	    
	   /* 有關於時間問題
	       如果要讓時間可以開始就初始化並且可以自動更新時間 就必須使用 TIMESTAMP 並且 on Update 
	       但是一個表格僅可以只有一個TIMESTAMP 所以另外第一次進入時間就是採用 DATETIME 並且用程式方法記錄
	 
	   */
	 }
 	else{
 	    //標記:POST 輸入變數 3
 	    //之前已經有登入過 所以更新login_coun 數目加 1
 	     $res = mysql_query("UPDATE $db_table SET login_count=login_count+1 , debuger='$p_debuger' , name='$p_name', systemName ='$p_systemName' ,model='$p_model', systemVersion='$p_systemVersion' ,localizedModel='$p_localizedModel',IP_Adress='$user_ip',User_Country='$user_country'    WHERE udid= '$p_udid' and productid='$p_prod'  ",$hd);
	     
	    
 	 
 	 
 	 }
 	
     //資料新增與更新結束後 將新的資料輸出
 	 $record_output = mysql_query($SQLD,$hd);
     $row_num_output = mysql_num_rows($record_output); //取出資料集的欄位數目
	 $row_output = mysql_fetch_assoc($record_output);
 	 
 	 if($row_num_output >=1){ 
 	      $arr = array
            (
            //標記:程式啓動後 必須先決定的重要參數 3 (步驟4 則是放在 APP )
            'status'=>$row_output["status"],         //狀態設定值 1:表示可以正常使用 0:表示禁止此硬體使用該ＡＰＰ
            'user_grade'=>$row_output["user_grade"], //使用者等級分類： 0:管理者 1:非管理者
            'datasource'=>$row_output["datasource"], //資料來源： 0:Yahoo 1:Google
            'iap_type'=>$row_output["iap_type"],     //網路購買商品的形態:0:一次購買買斷 1:訂閱購買
            
            
            'displayname'=>$row_output["displayname"],
            'firstentry_Date'=>$row_output["firstentry_Date"],
            'login_count'=>$row_output["login_count"],
           
           'expire_datetime_unix'=>$row_output["expire_datetime_unix"]
           
            );
          $header = "OK:";
          $jsonencode = json_encode($arr);
          // echo $header.$jsonencode;
 	      echo $jsonencode;
 	 }
 	 else{
 	     echo "ERROR:SQL INSERT OR UPDATE DATA ERROR";
 	 }
 	

 	  
	 
	 
	 
	 
	 //刪除某一個記錄
	 //$record = mysql_query("DELETE FROM $db_table WHERE udid= '$udid' ",$hd);
	 
     
 	
 	mysql_close($hd);
 	
 	 
?>

